package com.smart.common.config.spring;


import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.context.annotation.AnnotationBeanNameGenerator;

import javax.validation.constraints.NotNull;

/**
 * 当前系统Bean NAME适配器 设定当前系统所使用bean名称为全路径名称
 *
 * @author Xiaxuqiu
 * @date 2022-07-13
 **/
public class BeanNameAdapters extends AnnotationBeanNameGenerator {

    /**
     * 生成bean名称
     * 生成bean规则定义
     *
     * @param definition 定义
     * @param registry   注册表
     * @return {@link String}
     */
    @NotNull
    @Override
    public String generateBeanName(BeanDefinition definition, @NotNull BeanDefinitionRegistry registry) {
        //全限定类名
        return definition.getBeanClassName();
    }
}
